export interface IColor {
  r: number;
  g: number;
  b: number;
  a: number;
}

export enum eOutputFormat {
  canvas = 'canvas',
  base64 = 'base64',
  blob = 'blob',
}

export type tOutputFormat =
  | eOutputFormat.canvas
  | eOutputFormat.base64
  | eOutputFormat.blob;

export type tInputDataType = HTMLCanvasElement | string | HTMLImageElement;
export type tOutputDataType = HTMLCanvasElement | string | Blob | null;

export interface IGrayMaskTranspreviewMaskOption {
  selectionColor?: IColor;
  backgroundColor?: IColor;
  gridColor?: IColor;
  pixelBlockQuantity?: number;
  style?: 'mask' | 'grid';
  maxDimension?: number;
  outputFormat?: tOutputFormat;
}
